[Edge]。→
RegExp コンストラクターを返します。
クラス内で:
species アクセサー プロパティは、RegExp の既定のコンストラクターを返します。サブクラスのコンストラクターは、コンストラクターの割り当てをオーバーライドするためにこれを使用することができます。
既定のコンストラクターを返します。RegExp オブジェクトであれば、RegExp コンストラクターを返します。
D=RegExp[Symbol.species]; //=[function]:function RegExp() { [native code] }
派生クラスのコレクション オブジェクト(たとえば、独自の正規表現を表す 以下のMyRegExp)では、MyRegExp の species は MyRegExp コンストラクターです。しかし、派生クラスのメソッドで親である RegExp オブジェクトを返すようにこれをオーバーライドしたくなるかもしれません。
class MyRegExp extends RegExp {
// MyRegExp の species を親である RegExp コンストラクタにオーバーライドします。
static get [Symbol.species]() { return RegExp; }
}
D=new MyRegExp(); //=[object]:/(?:)/
D=new MyRegExp('abc', 'gi'); //=[object]:/abc/gi
D=new RegExp(); //=[object]:/(?:)/